package com.ruoyi.function.domain;

import java.math.BigDecimal;
import java.util.Date;

import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 技师对象 technician
 * 
 * @author ruoyi
 * @date 2025-03-18
 */
@Data
public class Technician extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 用户编号 */
    @Excel(name = "用户编号")
    private Long userId;

    /** 个人介绍 */
    @Excel(name = "个人介绍")
    private String introduction;

    /** 专业资格证书(JSON) */
    @Excel(name = "专业资格证书(JSON)")
    private String skillCertificate;

    /** 平台资格证书(JSON) */
    @Excel(name = "平台资格证书(JSON)")
    private String platformCertificate;

    /** 经验证明照片(JSON) */
    @Excel(name = "经验证明照片(JSON)")
    private String experiencePhotos;

    /** 审核状态 */
    @Excel(name = "审核状态")
    private Integer auditStatus;

    /** 接单状态 0-暂停接单 1-正在接单 */
    @Excel(name = "接单状态 0-暂停接单 1-正在接单")
    private Integer receivingOrder;

    /** 级别 */
    @Excel(name = "级别")
    private BigDecimal level;

    /** 总评分 */
    @Excel(name = "总评分")
    private BigDecimal totalScore;

    /** 评价次数 */
    @Excel(name = "评价次数")
    private Long scoreCount;

    /** 平均评分(0-5分) */
    @Excel(name = "平均评分(0-5分)")
    private BigDecimal avgScore;

    /** 完成订单数 */
    @Excel(name = "完成订单数")
    private Long completeOrderCount;

    /** 工时 */
    @Excel(name = "工时")
    private BigDecimal workingHours;
    /** 工时 */
    @Excel(name = "工龄")
    private Long workYears;
    /** 工时 */
    @Excel(name = "服务类型ID列表，逗号分隔")
    private String serviceTypeIds;

    private String[] serviceTypeIdsArray;
    /**
     * 服务区域
     */
    private String serviceAreas;

    /** 区 */
    @Excel(name = "区")
    private String addressName;


    @Excel(name = "可预约时间")
    private Date appointmentTime;

    @Excel(name = "余额")
    private BigDecimal balance;
    @Excel(name = "时段价")
    private BigDecimal hourPrice;

    /** 状态(0:禁用 1:启用) */
    @Excel(name = "状态(0:禁用 1:启用)")
    private Integer status;

    /**
     * 头像
     */
    private String avatar;
    private BigDecimal distance;
    private String name;
    private String phone;
    // 紧急联系人
    private String emergencyMobile;
    /** 经度 */
    private BigDecimal longitude;

    /** 纬度 */
    private BigDecimal latitude;

    /** 纬度 */
    /* 审批备注*/
    private String auditRemark;
    /** 审批时间*/
    private Date  auditTime;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("introduction", getIntroduction())
            .append("skillCertificate", getSkillCertificate())
            .append("platformCertificate", getPlatformCertificate())
            .append("experiencePhotos", getExperiencePhotos())
            .append("auditStatus", getAuditStatus())
            .append("receivingOrder", getReceivingOrder())
            .append("level", getLevel())
            .append("totalScore", getTotalScore())
            .append("scoreCount", getScoreCount())
            .append("avgScore", getAvgScore())
            .append("completeOrderCount", getCompleteOrderCount())
            .append("workingHours", getWorkingHours())
            .toString();
    }
}
